class Solution {
public:
    bool isMatch(string& s,string& t)//t字符串可以通过删除 s 中的某些字符得到。
    {
        int i=0;
        int j=0;
        while(i<s.size() && j<t.size())
        {
            if(s[i]==t[j])
            {
                i++;
                j++;
            }
            else
            {
                i++;
            }
        }
        return j==t.size();
    }
    string findLongestWord(string s, vector<string>& dictionary) {
        sort(dictionary.begin(), dictionary.end(), [&](const auto& a, const auto& b) {
            if(a.size() == b.size()) {
                return a < b;
            }
            return a.size() > b.size();
        });
        for(int i=0;i<dictionary.size();i++)
        {
            if(isMatch(s,dictionary[i]))
                return dictionary[i];
        }
        return "";
    }
};